草庐IT

java - 在android中反序列化JSON字符串

全部标签

javascript - JSON.parse 应该是递归的吗?

我正在像这样解析一个json字符串:ring=JSON.parse(response);现在,ring是一个对象,但ring.stones只是一个字符串,而它也应该是一个对象。如果我调用:ring.stones=JSON.parse(ring.stones);它现在是正确的对象。我不知道这是否是正确的行为,或者我是否在某个地方遇到了阻止它递归解析的问题?如果应该递归解析,是否有任何已知问题会阻止它?更新这是解析前的完整响应:{"ring_id":"9","stone_count":"4","style_number":"样式4","syn10":"436.15","gen10":"48

javascript - 使用 StackOverflow API 检索 JSON

我想使用API从我的StackOverflow配置文件中检索JSON格式的信息。所以我使用这个链接http:/api.stackoverflow.com/1.0/users/401025/.但是当我发出请求时,我得到了一个包含JSON数据的文件。我如何使用Ajax处理该文件?这是我的代码(http://jsfiddle.net/hJhfU/2/):varreq;getReputation();functiongetReputation(){req=newXMLHttpRequest();req.open('GET','http://api.stackoverflow.com/1.0/u

javascript - 用于替换单个反斜杠的正则表达式,不包括后跟某些字符的反斜杠

我有一个正则表达式,如果后面没有以下字符之一:\/或},它会从字符串中删除任何反斜杠。它应该把这个字符串:foo\bar\\batz\/hi进入这个:foobar\\batz\/hi但问题是它在处理每个反斜杠的过程中。所以它遵循的规则是删除第一个反斜杠,并忽略第二个反斜杠,因为它后面跟着另一个反斜杠。但是当它到达第3个时,它会将其删除,因为它后面没有另一个。我当前的代码如下所示:str.replace(/\\(?!\\|\/|\})/g,"")但是生成的字符串看起来像这样:foobar\batz\/hi如何让它跳过第三个反斜杠?或者是在做某种明确的否定搜索和替换类型的事情?例如。替换“

javascript - 使用 JQuery 获取 onclick() 事件的字符串值

想知道是否有好的方法来做到这一点,我想我会发布到SO社区...有一个第三方网页,我无法控制它的呈现方式,但它们允许我添加JQuery。使用JQuery,我在页面的一侧创建了一个导航菜单,它将是一个链接列表。这些链接的onclick事件是我从页面上已有的onclick事件中获取的,但是当我执行以下操作时:varlinkLoc=$('#theLink').attr("onclick");linkLoc返回:functiononclick(event){handleJumpTo("com.webridge.entity.Entity[OID[E471CB74A9857542804C7AC56

javascript - 为什么将函数参数作为字符串或引用传递时 `this` 会发生变化?

看看这个:vara={b:function(){console.log(this);}}//Example1a.b();//a//Example2eval('a.b()');//a//Example3setTimeout('a.b()',100);//a//Example4setTimeout(a.b,100);//Window//Example5varc=a.b;c();//WindowjsFiddle.假设预期结果是我预期的...示例1当调用b()时,Object的属性,this成为属性的Object,这里它是父a。它产生了预期的结果。例子2eval()旨在采用其调用位置的执行上下

Javascript/jQuery XSS 潜在读取查询字符串

我的javascript从查询字符串中读取数据,并使用jQuery.val()将该数据放入文本框中。这工作正常,但我想知道这是否可以免受XSS攻击?假设查询字符串看起来像...site.com?q="javascript:alert(document.cookie)这会有效地做到:jQuery.val('"javascript:alert(document.cookie)')根据我在IE8/firefox中的测试,这会设置所见的输入值,但不会进行实际注入(inject)。如果我先在字符串上运行这个函数:functionhtmlEncode(str){returnstr.replace(

Javascript:如何将对象的 JSON 数组转回对象类型共享原型(prototype)?

如果您有一个从JSON创建的产品对象数组,您将如何向产品对象添加原型(prototype)方法,以便它们都指向相同的方法?您将如何训练JavaScript识别数组中的所有产品对象都是同一类的实例而不重新创建它们?例如,如果我拉下一个JSON产品数组,并希望数组中的每个产品都有一个原型(prototype)方法,我该如何将单个原型(prototype)方法添加到产品的每个副本?我首先想到有一个Product构造函数,它将产品JSON数据作为参数并返回一个带有原型(prototype)的新Product等,这将替换从服务器发送的数据。我认为这是不切实际的,因为您正在重新创建对象。我们只想添

javascript - 它将字符串放在一起而不是添加它们 Javascript

varx=e.pageX;varmyX=$(this).html();vardifference=myX-x;varex=myX+difference;一切正常,直到最后一行。它不做加法,而是将变量放在一个字符串中。如果myX为10且差值为20,则当我希望它为30时它将为1020。我该如何解决? 最佳答案 您可以使用类似这样的方法强制变量为整数:varex=parseInt(myX,10)+parseInt(difference,10);发生这种情况是因为您的变量被视为字符串,并且在字符串上使用+运算符连接然后在一起而不是添加它们的

javascript - 如何从 Javascript 中的字符串中删除/替换 ANSI 颜色代码

我找不到下面函数的问题。第一个参数是包含ANSI的字符串颜色代码,第二个参数是bool值。如果bool值设置为false,则会对字符串进行完全删除。如果bool值设置为true,循环会将每个颜色代码转换为更容易解析的内容。我怀疑RegExp是问题所在,因为它出于某种原因混淆了1;33和0;31。varcolorReplace=function(input,replace){varreplaceColors={"0;31":"{r","1;31":"{R","0;32":"{g","1;32":"{G","0;33":"{y","1;33":"{Y","0;34":"{b","1;34"

Javascript Regex-用相同数量的另一个字符替换字符序列

我正在尝试用JavaScript中相同数量的虚拟字符替换字符串的一部分,例如:'==Hello=='为'==~~~~~=='。已使用Perl回答了这个问题和PHP,但我无法让它在JavaScript中运行。我一直在尝试这个:txt=txt.replace(/(==)([^=]+)(==)/g,"$1"+Array("$2".length+1).join('~')+"$3");模式匹配工作正常,但替换没有-第二部分添加'~~'而不是模式匹配的长度。将“$2”放在括号内是行不通的。我该怎么做才能让它插入正确数量的字符? 最佳答案 改为使